home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / swing / WindowsPlacesBar.class (.txt) < prev   
Encoding:
Java Class File  |  2006-11-29  |  5.0 KB  |  163 lines

  1. package sun.swing;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Dimension;
  5. import java.awt.Insets;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.beans.PropertyChangeEvent;
  9. import java.beans.PropertyChangeListener;
  10. import java.io.File;
  11. import javax.swing.Box;
  12. import javax.swing.ButtonGroup;
  13. import javax.swing.Icon;
  14. import javax.swing.ImageIcon;
  15. import javax.swing.JFileChooser;
  16. import javax.swing.JToggleButton;
  17. import javax.swing.JToolBar;
  18. import javax.swing.UIManager;
  19. import javax.swing.border.BevelBorder;
  20. import javax.swing.border.EmptyBorder;
  21. import javax.swing.filechooser.FileSystemView;
  22. import sun.awt.shell.ShellFolder;
  23.  
  24. public class WindowsPlacesBar extends JToolBar implements ActionListener, PropertyChangeListener {
  25.    // $FF: renamed from: fc javax.swing.JFileChooser
  26.    JFileChooser field_0;
  27.    JToggleButton[] buttons;
  28.    ButtonGroup buttonGroup;
  29.    File[] files;
  30.    final Dimension buttonSize;
  31.  
  32.    public WindowsPlacesBar(JFileChooser var1, boolean var2) {
  33.       super(1);
  34.       this.field_0 = var1;
  35.       this.setFloatable(false);
  36.       this.putClientProperty("JToolBar.isRollover", Boolean.TRUE);
  37.       boolean var3 = System.getProperty("os.name").startsWith("Windows") && System.getProperty("os.version").compareTo("5.1") >= 0;
  38.       if (var2) {
  39.          this.buttonSize = new Dimension(83, 69);
  40.          this.putClientProperty("XPStyle.subAppName", "placesbar");
  41.          this.setBorder(new EmptyBorder(1, 1, 1, 1));
  42.       } else {
  43.          this.buttonSize = new Dimension(83, var3 ? 65 : 54);
  44.          this.setBorder(new BevelBorder(1, UIManager.getColor("ToolBar.highlight"), UIManager.getColor("ToolBar.background"), UIManager.getColor("ToolBar.darkShadow"), UIManager.getColor("ToolBar.shadow")));
  45.       }
  46.  
  47.       Color var4 = new Color(UIManager.getColor("ToolBar.shadow").getRGB());
  48.       this.setBackground(var4);
  49.       FileSystemView var5 = var1.getFileSystemView();
  50.       this.files = (File[])ShellFolder.get("fileChooserShortcutPanelFolders");
  51.       this.buttons = new JToggleButton[this.files.length];
  52.       this.buttonGroup = new ButtonGroup();
  53.  
  54.       for(int var6 = 0; var6 < this.files.length; ++var6) {
  55.          if (var5.isFileSystemRoot(this.files[var6])) {
  56.             this.files[var6] = var5.createFileObject(this.files[var6].getAbsolutePath());
  57.          }
  58.  
  59.          String var7 = var5.getSystemDisplayName(this.files[var6]);
  60.          int var8 = var7.lastIndexOf(File.separatorChar);
  61.          if (var8 >= 0 && var8 < var7.length() - 1) {
  62.             var7 = var7.substring(var8 + 1);
  63.          }
  64.  
  65.          Object var9 = null;
  66.          if (this.files[var6] instanceof ShellFolder) {
  67.             ShellFolder var10 = (ShellFolder)this.files[var6];
  68.             var9 = new ImageIcon(var10.getIcon(true), var10.getFolderType());
  69.          } else {
  70.             var9 = var5.getSystemIcon(this.files[var6]);
  71.          }
  72.  
  73.          this.buttons[var6] = new JToggleButton(var7, (Icon)var9);
  74.          if (var3) {
  75.             this.buttons[var6].setIconTextGap(2);
  76.             this.buttons[var6].setMargin(new Insets(2, 2, 2, 2));
  77.             this.buttons[var6].setText("<html><center>" + var7 + "</center></html>");
  78.          }
  79.  
  80.          if (var2) {
  81.             this.buttons[var6].putClientProperty("XPStyle.subAppName", "placesbar");
  82.          } else {
  83.             Color var12 = new Color(UIManager.getColor("List.selectionForeground").getRGB());
  84.             this.buttons[var6].setContentAreaFilled(false);
  85.             this.buttons[var6].setForeground(var12);
  86.          }
  87.  
  88.          this.buttons[var6].setHorizontalTextPosition(0);
  89.          this.buttons[var6].setVerticalTextPosition(3);
  90.          this.buttons[var6].setAlignmentX(0.5F);
  91.          this.buttons[var6].setPreferredSize(this.buttonSize);
  92.          this.buttons[var6].setMaximumSize(this.buttonSize);
  93.          this.buttons[var6].addActionListener(this);
  94.          this.add(this.buttons[var6]);
  95.          if (var6 < this.files.length - 1 && var2) {
  96.             this.add(Box.createRigidArea(new Dimension(1, 1)));
  97.          }
  98.  
  99.          this.buttonGroup.add(this.buttons[var6]);
  100.       }
  101.  
  102.       this.doDirectoryChanged(var1.getCurrentDirectory());
  103.    }
  104.  
  105.    protected void doDirectoryChanged(File var1) {
  106.       for(int var2 = 0; var2 < this.buttons.length; ++var2) {
  107.          JToggleButton var3 = this.buttons[var2];
  108.          if (this.files[var2].equals(var1)) {
  109.             var3.setSelected(true);
  110.             break;
  111.          }
  112.  
  113.          if (var3.isSelected()) {
  114.             this.buttonGroup.remove(var3);
  115.             var3.setSelected(false);
  116.             this.buttonGroup.add(var3);
  117.          }
  118.       }
  119.  
  120.    }
  121.  
  122.    public void propertyChange(PropertyChangeEvent var1) {
  123.       String var2 = var1.getPropertyName();
  124.       if (var2 == "directoryChanged") {
  125.          this.doDirectoryChanged(this.field_0.getCurrentDirectory());
  126.       }
  127.  
  128.    }
  129.  
  130.    public void actionPerformed(ActionEvent var1) {
  131.       JToggleButton var2 = (JToggleButton)var1.getSource();
  132.  
  133.       for(int var3 = 0; var3 < this.buttons.length; ++var3) {
  134.          if (var2 == this.buttons[var3]) {
  135.             this.field_0.setCurrentDirectory(this.files[var3]);
  136.             break;
  137.          }
  138.       }
  139.  
  140.    }
  141.  
  142.    public Dimension getPreferredSize() {
  143.       Dimension var1 = super.getMinimumSize();
  144.       Dimension var2 = super.getPreferredSize();
  145.       int var3 = var1.height;
  146.       if (this.buttons != null && this.buttons.length > 0 && this.buttons.length < 5) {
  147.          JToggleButton var4 = this.buttons[0];
  148.          if (var4 != null) {
  149.             int var5 = 5 * (var4.getPreferredSize().height + 1);
  150.             if (var5 > var3) {
  151.                var3 = var5;
  152.             }
  153.          }
  154.       }
  155.  
  156.       if (var3 > var2.height) {
  157.          var2 = new Dimension(var2.width, var3);
  158.       }
  159.  
  160.       return var2;
  161.    }
  162. }
  163.